
                        *********************************************************
                        ********** Audio Mechanica - By Art 2006 - 2008 *********
                        ********** for Sony PSP - (Playstation Portable)*********
                        *********************************************************

*********************************************************************************************************

Hi Guys,
This is the latest release of my digital audio recorder program which happens to be a complete rewrite.

Many features of the original have been sacrificed for a simplified interface, and direct file recording
functionality.

You need either a Socom compatible headset and PSP headphone remote control, or a Go!Cam to provide the
PSP with a compatible microphone for this program to work.

There are numerous modifications to tap a microphone input out of your remote, or find a 4 conductor
3.5mm jack, and convert your own standard PC microphone headset, or, as I have done, convert a mobile
phone headset for use with the PSP. Details of these mods are posted on PSPU forums, and ps2dev.org forums.
In my experience, mobile phone (and DIY) headsets don't have the same quality of the original PSP headset.

On the other hand, for line input , use a stock Ipod Video cable with three RCA connectors on one end,
and the four conductor 3.5mm plug on the other end.

When the Ipod video cable is connected to the PSP remote, the Yellow RCA plug is the PSP input,
and the red and white RCA plugs are the Left and Right PSP output channels.

WARNING: Be careful with the level present at the PSP unit's input. Start at low volume and work your way up.
Do not use a level that results in distortion at the output. Most component equipment with line level
outputs will not be suitable because their output level is too high, and cannot be adjusted. Many Digital
TV set top boxes do provide for adjusting the volume of their line level outputs. I have tested the program
with one of these. It is not recommended to connect the PSP to recieve signal from in car audio equipment.

*********************************************************************************************************

PROGRAM OPERATION:
Copy the 'Audio_Mechanica' folder to the PSP/GAME folder of your Memory Stick

Plug in your Headphone remote, and Socom compatible headset, then when you launch the program,
You are presented with a screen that requests selection of your microphone hardware.

- Press Cross for PSP-270x hardware, or Circle for PSP-300 hardware.

- To start or stop recording press Cross.

- To Exit, press Home (this stops any current recording).


*********************************************************************************************************

Notes:

The Background picture in the Game select screen is my own photo, taken at Mount Barney Upper Portals
Southeast Queensland, Australia. The flowing water sound was captured within a few kilometers of this
area, at Mount Barney Lower Portals (Mt Barney Creek) 7th of October 2006. A special trip was taken after
working on the VOX feature earlier that morning with the intention of recording sounds for two different
eboots. Unfortunately, it was too late to hear too many birds for creating the second recording.

This program is tested with the genuine PSP headset (PSP-270 x), and genuine PSP-300 Go!Cam.
The genuine PSP microphone headset is innovative, and value for money with the Socom game, at least in
my opinion. It would be nice, however, to have the option of buying the headset seperately in Australia.

lteixeira's PSP Audio input library is no longer used in Audio Mechanica, but many thanks for his samples
which helped me understand programming for audio. thanks to kururin of ps2dev.org for providing the Go!Cam
audio sample which was the template for this program.


*********************************************************************************************************

Version History:

Audio Mechanica V7 (03/11/08):
Program rewritten based on ps2dev GoCam audio sample to provide direct to file audio recording.
Graphics library and Intrafont introduced.

Audio Mechanica V6e (15/12/07):
Recompiled with the PSP clock still running 133/133/1.

Audio Mechanica V6d (30/08/07):
The program now underclocks the PSP to 133/133/1 in order to save battery power.

Audio Mechanica V6c (14/10/06):
Right and Left shoulder buttons can now be used to adjust delay time while in echo mode faster than pressing
up and down on the D pad. Use of the shoulder buttons lifts the previous restriction on delay time, and allows
full use of the 22Mb data buffer to provide up to 4 minutes and 21 seconds of delay time.
Added an Echo mode to the Digital Delay Processor.
Fixed seek function (left and right shoulder buttons) to seek at the same speed for every sample rate.
Reel Position is now displayed in elapsed minutes and seconds for all screens.
Delay time for the Delay Processor mode is now displayed in seconds and miliseconds.
Various fixes, and significant code optimisation.

Audio Mechanica V6b (12/10/06):
Minor screen bug fixes.

Audio Mechanica V6 (12/10/06):
Implemented a live Digital Delay Processor with user defined delay period.
Implemented Yakback emulator mode (Repeats everything like a parrot). This mode records constantly,
and stops to play chunks of continuous sound.
Added option to exit the program without saving reel.
Headphone remote buttons that are not pertinent to effect modes are disabled while effect modes are active.

Virtual Tape Recorder V5b (08/10/06):
Increased virtual reel buffer to 22 Mb which provides more recording time for every sample rate.
Implemented MPH's free RAM display at startup to keep track of RAM consumption during development.
Added a visible VOX sensitivity indicator, and the vox sensitivity is now adjustable.
Fixed voice activation routine to scan the wave for peaks so the VOX indicator can work properly.
Other small fixes, and code optimisations.
Added demonstration eboot sound.

Virtual Tape Recorder V5 (06/10/06):
Fixed live monitor to work properly for all supported sample rates, and removed the option to turn
the live monitor off.
Added support for 5512 sample rate which allows over 30 minutes of recording time at low quality.

Virtual Tape Recorder V4d (04/10/06):
Lowered the sensitivity of voice activation for outdoor or possible use in an industrial environment.
Fixed VOX delay time for uniformity across the three supported sample rates.
Added effect demo loop feature to the D pad menu so the hold switch on the remote can be
used as normal.
Fixed effect demo waveform screen so that screen text is not shown.
Tested with genuine Socom headset.

Virtual Tape Recorder V4c (02/10/06):
Expanded waveform again because it looks smoother.
Fix to right hand side of waveform monitor screen.
Added voice activation feature.

Virtual Tape Recorder V4b (01/10/06):
Fixed reset reel index bug. Display was showing 1024 instead of 0 after reset since V4.
Inverted the waveform for graphic waveform monitor. Wave starts from the bottom and moves up.
Compressed waveform on both axis to better fit the screen.
Fixed waveform monitor for effect mode.
Implemented a quick erase reel feature.
Code optimisation.

Virtual Tape Recorder V4 (30/09/06):
Implemented live waveform monitor that provides visual indication that the program and microphone
are operating correctly. Thanks to Saotome for sample code pertaining to this.
Virtual tape reel index position is no longer reset when switching between record and playback modes.
Recording is now stopped rather than looped if a recording is allowed to reach the end of the reel.

Virtual Tape Recorder V3d (26/09/06):
Fixed repeating indicator sound problem when mode is selected with remote control.
Added the option to turn live record monitor on or off.
Added a Mikmod error handler (informs of missing indicator "blip", etc).

Virtual Tape Recorder V3c (25/09/06):
Reel position is now saved to a file upon exit, and loaded at startup, so your index position
is not lost when the program exits.

Virtual Tape Recorder V3b (24/09/06):
Added effect demo loop effect. This is the high frequency 'chipmonk' effect.
Added ASCII graphic play, record, and stop indicators.
Fixed new screen bugs introduced in V3

Virtual Tape Recorder V3 (24/09/06):
Fully supports three different bitrates (44100, 22050, and 11025), which allows for greater
possible recording time.
Displays the available recording time for each supported bitrate.
Program checks for at least 21Mb free space on the Memory Stick before creating the 20Mb Reel.wav file.
Microphone gain control is disabled. Although it is defined in the audio input library, I don't believe
that adjusting it has any effect.

Virtual Tape Recorder V2f (23/09/06):
Mikmod implementation allows indicator sounds for play, record, stop, and reset functions.
Square button resets file index position to zero.
Home button is disabled, program can only exit with Circle button to prevent exit wothout saving.
Program exit with Circle button is not allowed while playing or recording, only while stopped.
Mode swap from record to play, or vice versa, is only allowed in stop mode.

Virtual Tape Recorder V2e (23/09/06):
Screen bugs fixed.
Triangle button only works in stop mode.
Left and Right D pad changes sample rates for record only. This is an experimental feature included
in this release for the interesting sound effect.

Virtual Tape Recorder V2d (19/09/06):
Fixed Rewind to work at correct speed.
Reel is now a Microsoft compliant wav file.

Virtual Tape Recorder V2c (17/09/06):
Fixed a bug introduced with the last release to do with the way fast foward and rewind buttons work.

Virtual Tape Recorder V2b (16/09/06):
Screen errors fixed.
Fast foward and rewind can be used during playback, and are disabled during recording.
Microphone level is adjustable.

Virtual Tape Recorder V2 (16/09/06):
Headphone remote buttons implemented.

Virtual Tape Recorder V1 (16/09/06):
First release.

*********************************************************************************************************